<?php

class MY_Controller extends CI_Controller
{
    protected $tipo_usuario = FALSE;

    
    public function __construct()
    {
	parent::__construct();

	if ($this->autentica() == TRUE)
	{
	    $this->load->model('usuario_model');
	    $this->tipo_usuario = $this->usuario_model->tipo_de_usuario(
		    $this->usuario_model->get_id_by_email($this->session->userdata('email')));
	}
    }

    public function login()
    {
	// pagina para redirect
	$this->session->keep_flashdata('pagina');
	
	$this->form_validation->set_error_delimiters('<strong>', '</strong><br />');
	
	// indicando as regras de validação do cadastro
	$this->form_validation->set_rules('email', 'email', 'required');
	$this->form_validation->set_rules('senha', 'senha', 'required');


	if ($this->form_validation->run() == FALSE)
	{
	    $this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
	    $this->load->view('common/loginview');
	    $this->load->view('common/footer');
	}
	else
	{
	    
	    $email = $this->input->post('email');
	    $senha = md5($this->input->post('senha'));

	    $this->load->model('usuario_model');

	    $return = TRUE;
	    $return = $this->usuario_model->autentica($email, $senha);
	    

	    if($return == TRUE)
	    {
		$redir = $this->session->flashdata('pagina');
		redirect($redir);
	    }
	    else
	    {
		$data = array('erro' => '<strong>Login/senha inválidos.</strong>');
		$this->load->view('common/header', array('tipo_usuario' => $this->tipo_usuario));
		$this->load->view('common/loginview');
		$this->load->view('common/footer');
	    }
	}
    }

    public function logoff()
    {
	$this->session->unset_userdata('email');
	$this->session->unset_userdata('senha');

	$redir = $this->session->flashdata('pagina');
	redirect($redir);
    }

    protected function autentica()
    {
	$this->load->model('usuario_model');

	$email = $this->session->userdata('email');
	$senha = $this->session->userdata('senha');

	return $this->usuario_model->autentica($email, $senha);
    }

    public function cpf_check($cpf)
    {
	return (bool) preg_match('/^([0-9]{3}\.){2}[0-9]{3}-[0-9]{2}$/' , $cpf);
    }
}

